# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Luca Fulchir <luca@fulchir.it>

pkgname=dnssec-tools
pkgver=2.2.3
pkgrel=10
pkgdesc="libval & dnssec management tools"
arch=('loong64' 'x86_64')
url="http://www.dnssec-tools.org"
license=('BSD')
conflicts=('libval' 'libval_shim' 'libsres')
backup=('etc/dnssec-tools/dnssec-tools.conf' 'etc/dnssec-tools/resolv.conf' 'etc/dnssec-tools/root.hints' 'etc/dnssec-tools/dnsval.conf')
depends=('dnsutils' 'perl' 'perl-timedate' 'perl-net-dns' 'perl-net-dns-sec' 'perl-mailtools' 'bind' 'openssl' 'glibc'
         'perl-html-parser' 'perl-cgi')
optdepends=('perl-tk: for GUI components'
            'perl-graphviz: for GUI components')
options=('!emptydirs')
source=(https://github.com/DNSSEC-Tools/DNSSEC-Tools/archive/dnssec-tools-$pkgver.tar.gz
        makefile-dependency.patch)
sha256sums=('bc4286beff38c6d951137753b40fb3bd98a2d62d73be094b9ce062dec7b5bcb5'
            'fb23565ff9afabf85dc812ab500a3652add4537e9519a49214e329de3d2171f9')
install="dnssec-tools.install"

prepare() {
  # patch for race condition with -j 2+
  cd DNSSEC-Tools-dnssec-tools-$pkgver/dnssec-tools
  patch -p0 -i "$srcdir/makefile-dependency.patch"

  sed -e '/^maninstall:/,+3s:$(MKPATH) $(mandir)/$(man1dir):$(MKPATH) $(DESTDIR)/$(mandir)/$(man1dir):' \
      -i Makefile.in
  sed -e 's:/usr/local/etc:/etc:g' \
      -e 's:/usr/local:/usr:g' \
      -i tools/donuts/donuts \
      -i tools/etc/dnssec-tools/dnssec-tools.conf \
      -i tools/scripts/genkrf
  sed -e 's:/usr/bin/genkrf:/usr/bin/vendor_perl/genkrf:' \
      -e 's:/usr/bin/keyarch:/usr/bin/vendor_perl/keyarch:' \
      -e 's:/usr/bin/rollchk:/usr/bin/vendor_perl/rollchk:' \
      -e 's:/usr/bin/rollctl:/usr/bin/vendor_perl/rollctl:' \
      -e 's:/usr/bin/zonesigner:/usr/bin/vendor_perl/zonesigner:' \
      -e 's:/usr/sbin/dnssec-keygen:/usr/bin/dnssec-keygen:' \
      -e 's:/usr/sbin/rndc:/usr/bin/rndc:' \
      -e 's:/usr/sbin/named-checkzone:/usr/bin/named-checkzone:' \
      -e 's:/usr/sbin/dnssec-signzone:/usr/bin/dnssec-signzone:' \
      -i tools/etc/dnssec-tools/dnssec-tools.conf

}

build() {
  cd DNSSEC-Tools-dnssec-tools-$pkgver/dnssec-tools

  ./configure \
    --exec_prefix=/usr \
    --prefix=/usr \
    --mandir=/usr/share/man \
    --sysconfdir=/etc \
    --with-ipv6 \
    --with-nsec3 \
    --with-dlv \
    --with-perl-build-args=INSTALLDIRS=vendor
  make
}

package() {
  cd DNSSEC-Tools-dnssec-tools-$pkgver/dnssec-tools
  make install DESTDIR="$pkgdir"
  cp validator/etc/dnsval.conf validator/etc/root.hints "$pkgdir"/etc/dnssec-tools/

  install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING

  sed -i 's|/usr/bin/|/usr/bin/vendor_perl/|' dist/{rollerd,donutsd}.service
  install -Dm644 dist/rollerd.service "$pkgdir"/usr/lib/systemd/system/rollerd.service
  install -Dm644 dist/donutsd.service "$pkgdir"/usr/lib/systemd/system/donutsd.service

  cd "$pkgdir"/etc/dnssec-tools
  mkdir KEY-SAFE
  touch KEY-SAFE/.pacmankeep

  ## add support for ISC DLV checking
  cat >> dnsval.conf <<EOF
##################################
# ISC DLV root anchor
##################################
: dlv-trust-points
    .   dlv.isc.org.
;
EOF
}
